<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>CSS3 边框圆角</title>
	<style>
		body, ul, li, dl, dt, dd, h1, h2, h3, h4, h5 {
			margin: 0;
			padding: 0;
		}

		body {
			background-color: #F7F7F7;
		}

		.wrapper {
			width: 1000px;
			margin: 0 auto;
			padding: 20px;
			box-sizing: border-box;
		}

		header {
			padding: 20px 0;
			margin-bottom: 20px;
			text-align: center;
		}

		header h3 {
			line-height: 1;
			font-weight: normal;
			font-size: 28px;
		}

		.main {
			/*overflow: hidden;*/
		}

		.main:after {
			content: '';
			clear: both;
			display: block;
		}

		.main .item {
			width: 210px;
			height: 210px;
			margin: 0 30px 30px 0;
			/* 伸缩布局 */
			display: flex;
			position: relative;
			background-color: #FFF;
			float: left;
			box-shadow: 2px 2px 5px #CCC;
		}
		
		.main .item:after {
			content: attr(data-brief);
			display: block;
			width: 100%;
			height: 100%;
			text-align: center;
			line-height: 210px;
			position: absolute;
			top: 0;
			left: 0;
			color: #FFF;
			font-family: '微软雅黑';
			font-size: 18px;
			background-color: rgba(170, 170, 170, 0);
			z-index: -1;
			transition: all 0.3s ease-in;
		}

		.main .item:hover:after {
			background-color: rgba(170, 170, 170, 0.6);
			z-index: 100;
		}

		.main .item:nth-child(4n) {
			margin-right: 0;
		}

		/*.main .item:nth-last-child(-n+5) {
			margin-bottom: 0;
		}*/

		/* 以上是骨架样式 */
		
		/* 1、2、3、4 顺时针 */
		.border-radius {
			width: 180px;
			height: 180px;
			margin: auto; 
			border: 1px solid red;
			/* 长度/百分比 4角(左上 右上 右下 左下) */
			/* border-radius: 50% 30% 20%;*/
			border-radius:90px;  /*整圆：宽高的一半 */
		}
		
		/* 正方形 */
		.square {
			border-radius:0;
		}
		
		/* 拱形 */
		.gongxing {
			border-radius: 50% 50% 0 0;
		}
		
		.item:nth-child(2) .border-radius {
			border-radius: 90px 90px 0 0;
		}
		
		/* 半圆 */
		.item:nth-child(3) .border-radius {
			height: 90px;
			border-radius: 90px 90px 0 0;
		}
		
		/* 左上角*/
		.item:nth-child(4) .border-radius {
			border-radius: 90px 0 0 0;
		}
		
		/* 四分之一圆*/
		.item:nth-child(5) .border-radius {
			width: 90px;
			height: 90px;
			border-radius: 90px 0 0 0;
		}
		
		/* 横着的椭圆*/
		.item:nth-child(6) .border-radius {
			height: 90px;
			/*border-radius: 120% 120% 120% 120%;*/	
			/*border-radius: 90px / 45px;*/
		}
		
		/* 竖着的椭圆*/
		.item:nth-child(7) .border-radius {
			width: 90px;
			/*border-radius: 120% 120% 120% 120%;*/
			border-radius: 50%;
		}
		
		/* 半个横着的椭圆*/
		.item:nth-child(8) .border-radius {
			height: 45px;
			border-radius:90px 90px 0 0 / 45px 45px 0 0;
		}
		
		/* 半个竖着的椭圆*/
		.item:nth-child(9) .border-radius {
			width: 45px;
			border-radius: 45px 0 0 45px / 90px 0 0 90px;
		}
		
		/* 八卦图 */
		.item:nth-child(10) .border-radius {
			width: 180px;
			height: 90px;
			border-bottom-width: 90px;
			border-style: solid;
			background-color:red;
			border-radius: 90px;
			border-bottom-color: green;
			position:relative;
		}
		
		.item:nth-child(10) .border-radius::before,
		.item:nth-child(10) .border-radius::after {
			content: '';
			position: absolute;
			width:20px;
			height:20px;
			border-width:35px;
			border-style:solid;
			border-radius:45px;
			top:50%;
		}
		
		.item:nth-child(10) .border-radius::before {
			background-color:red;
			border-color:green;
		}
		
		.item:nth-child(10) .border-radius::after {
			background-color:green;
			border-color:red;
			right:0;
		}
		
		
		/*阴阳图今生*/
		.item:nth-child(11) .border-radius {
			width: 180px;
			height: 90px;
			border-bottom-width: 90px;
			border-style: solid;
			border-bottom-color: green;
			background-color: red;
			border-radius: 90px;
			position: relative;
		}

		.item:nth-child(11) .border-radius::after,
		.item:nth-child(11) .border-radius::before {
			content: '';
			position: absolute;
			top: 50%;
			width: 20px;
			height: 20px;
			/*margin: -10px 0 0 0;*/
			border-width: 35px;
			border-style: solid;
			border-radius: 45px;
		}

		/*左阴阳*/
		.item:nth-child(11) .border-radius::after {
			background-color: red;
			border-color: green;
		}
		/*右阴阳*/
		.item:nth-child(11) .border-radius::before {
			background-color: green;
			border-color: red;
			right: 0;
		}
		
		/*红黄蓝绿*/
		.item:nth-child(12) .border-radius {
			width:0px;
			height:0px;
			border-width:90px;
			border-style:solid;
			border-color:red yellow blue green;
			border-radius:0;
		}
		
		/*消息框*/
		.item:nth-child(13) .border-radius {
			width:130px;
			height:60px;
			background:red;
			border-radius:6px;
			position:relative;
		}
		
		/* 利用伪元素添加消息框小三角 */
		.item:nth-child(13) .border-radius::after {
			content: '';
			position:absolute;
			width:0px;
			height:0px;
			border-width:10px;
			border-style:solid;
			border-color:transparent;
			border-right-color:red;
			top:13px;
			left:-19px;
		}
		
		/*奇怪的图形*/
		.item:nth-child(14) .border-radius {
			width:40px;
			height:40px;
			border-width:45px 0 45px 70px;
			border-style:solid;
			border-color:red;
			border-radius: 0 0 10px 0;
		}
		
	</style>
</head>
<body>
	<div class="wrapper">
		<header>
			<h3>CSS3 边框圆角</h3>
		</header>
		<div class="main">
			<div class="item" data-brief="整圆">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="拱形">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="半圆">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="左上角">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="四分之一圆">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="横着的椭圆">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="竖着的椭圆">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="半个横着的椭圆">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="半个竖着的椭圆">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="八卦图">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="八卦图2">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="红黄蓝绿">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="消息框">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="奇怪的图形">
				<div class='border-radius'></div>
			</div>
			<div class="item" data-brief="">
				<div class="border-radius" style="border:3px solid blue;"></div>
			</div>
		</div>
	</div>
</body>
</html>